home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
geos-archive
/
GEOS-D64
/
GEOS Mega ASM (19xx)(-).d64
/
list6-5
< prev
next >
Wrap
Text File
|
2019-04-13
|
5KB
|
283 lines
; Desk Accessory zum Auslesen von Syteminformationen
if .p
t "TopSym"
t "TopMac"
endif
f DESK_ACC
o $5500
q $7f39
:Left = 48
:Right = 272
:Top = 16
:Bottom = 152
:Start jsr i_ImprintRectangle
b 0,199
w 0,319
LoadW r1,COLOR_MATRIX
LoadW r0,1000
MoveB screencolors,r2L
jsr FillRam
LoadB dispBufferOn,ST_WR_FORE!ST_WR_BACK
LoadW r0,GrafikTab
jsr GraphicsString
LoadW r0,MenuTab
jsr DoMenu
LoadW r0,IconTab
jsr DoIcons
LoadW leftMargin,Left+10
jsr i_PutString
w Left+10
b Top+32
b "aktueller Diskname:",CR
b "Druckername:",CR
b "Zeit:",NULL
LoadW r8,curDirHead+144
LoadW r9,DiskName
ldx #r8L ; Wertzeichen beachten !!
ldy #r9L
lda #16
jsr CopyFString
LoadW r0,DiskName
LoadW r11,Left+100
LoadB r1H,Top+32
jsr PutString
LoadW r0,PrntFileName
LoadW r11,Left+100
LoadB r1H,Top+32+10
jsr PutString
LoadW r0,ProcessTab
lda #1 ; 1 Proze~
jsr InitProcesses
ldx #0
jsr RestartProcess
ldx #0
jsr EnableProcess
LoadW keyVector,MyKeys
rts
:GrafikTab
b MOVEPENTO
w Left+8
b Top+8
b NEWPATTERN
b 1
b RECTANGLETO
w Right+8
b Bottom+8
b MOVEPENTO
w Left
b Top
b NEWPATTERN
b 9
b RECTANGLETO
w Right
b Top+16
b NEWPATTERN
b 0
b RECTANGLETO
w Left
b Bottom
b FRAME_RECTO
w Right
b Top
b NULL
:MenuTab b Top,Top+14
w Left,Left+32
b HORIZONTAL!1
w MenuText
b SUB_MENU
w UnterMenu
:MenuText b "Men}",0
:UnterMenu b Top+14,Top+28
w Left,Left+32
b VERTICAL!1
w InfoText
b MENU_ACTION
w DoInfo
:InfoText b "Info",0
:IconTab b 1 ; 1 Icon
w 0 ; kein Setzen der Maus
b 0
w komBitmap ; Zeiger auf die Bitmap
b Right/8-2 ; x-Koordinate in CARDS
b Top ; y-Koordinate in Pixel
b 2 ; Breite des Icon
b 14 ; H|he des Icon
w EndDA ; Adresse, die bei Anwahl
; angesprungen wird
:komBitmap b $80+28 ; Kopfbyte + 28 Folgebytes
b %11111111,%11111111
b %10000000,%00000001
b %10000000,%00000001
b %10000000,%00000001
b %10000000,%00000001
b %10000000,%00000001
b %10000111,%11100001
b %10000111,%11100001
b %10000000,%00000001
b %10000000,%00000001
b %10000000,%00000001
b %10000000,%00000001
b %10000000,%00000001
b %11111111,%11111111
:EndDA LoadW appMain,RstrAppl
rts
:DoInfo jsr GotoFirstMenu
:DoBox LoadW r0,dlgBoxRamBuf
LoadW r1,merkBuffer
LoadW r2,417
jsr MoveData
LoadW r0,DialTab
jsr DoDlgBox
jsr i_MoveData
w merkBuffer
w dlgBoxRamBuf
w 417
rts
:DialTab b $81
b OK
b 16,50
b NULL
:merkBuffer
s 420
:DiskName
s 17
:ProcessTab
w DoProcess1
w 20
:DoProcess1
php
sei ; interrupt sperren
MoveB seconds,MySek
MoveB minutes,MyMin
MoveB hour,MyStd
plp
lda MySek
sta r0L
jsr Div10
clc
lda r0L
adc #$30
sta secZehner
lda r8L
adc #$30
sta secEiner
lda MyMin
sta r0L
jsr Div10
clc
lda r0L
adc #$30
sta minZehner
lda r8L
adc #$30
sta minEiner
lda MyStd
sta r0L
jsr Div10
clc
lda r0L
adc #$30
sta stdZehner
lda r8L
adc #$30
sta stdEiner
LoadW r0,time
LoadW r11,Left+100
LoadB r1H,Top+32+20
jsr PutString
rts
:Div10 LoadB r0H,0
ldx #r0L
LoadW r1,10
ldy #r1L
jsr Ddiv
rts
:time
:stdZehner b "0"
:stdEiner b "0:"
:minZehner b "0"
:minEiner b "0:"
:secZehner b "0"
:secEiner b "0 ",NULL
:MySek b 0
:MyMin b 0
:MyStd b 0
:MyKeys
lda keyData
ldy #3 ; 4 Tasten abfragen
::10 cmp Tasten,y
beq :20
dey
bpl :10
rts
::20
lda HighTast,y
pha
lda LowTast,y
pha
rts
:Tasten b 233 ; <cbm>+<i>
b 229 ; <cbm>+<q>
b KEY_F1 ; <F1>
b KEY_F3 ; <F3>
:HighTast b >DoBox-1,>EndDA-1
b >StopClock-1,>RunClock-1
:LowTast b <DoBox-1,<EndDA-1
b <StopClock-1,<RunClock-1
:StopClock
ldx #0 ; erster Proze~!
jsr FreezeProcess
rts
:RunClock
ldx #0
jsr UnfreezeProcess
rts